package com.Servlet;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.DataFormat;
import org.apache.poi.ss.util.CellRangeAddress;

/**
 * Servlet implementation class test
 */
@WebServlet("/testDemo")
public class testDemo extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public testDemo() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.err.println("------------------request come in--------");

	    

	    response.setContentType("application/octet-stream");
	    response.setCharacterEncoding("UTF-8");
	    //设置文件的名字
	    response.addHeader("Content-Disposition", "attachment; filename=zwb.xls"); 
	    String headline="合同信息";
		String[] title= {"合同ID","学生编号","中文名","英文名","性别","出生日期","课程名","总课时","剩余课时","学费","收费情况","签约类型","课程顾问","电话顾问","DEMO中教","DEMO外教"};
		//创建EXCEL工作簿
			HSSFWorkbook workbook = new HSSFWorkbook();
			//创建一个工作sheet
			HSSFSheet sheet = workbook.createSheet();
			CellStyle cellStyle = workbook.createCellStyle();
			DataFormat format = workbook.createDataFormat();  
			cellStyle.setDataFormat(format.getFormat("@"));
			//sheet.setDefaultColumnStyle(column, style);
			//创建第一行
			HSSFRow row = sheet.createRow(0);
			HSSFCell cell = null ;
			//创建标题
			sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 2));
			cell =row.createCell(0);
			cell.setCellValue(headline);
			//创建第二行
			HSSFRow rowtitle = sheet.createRow(1);
			//插入第二行title 
			for(int i=0;i<title.length;i++) {
			sheet.setDefaultColumnStyle(i, cellStyle);
			cell =rowtitle.createCell(i);
			cell.setCellValue(title[i]);
			}
			//追加数据,1先从数据库中获取结果集并且放到LIST中，然后一行一行地放入
			workbook.write(response.getOutputStream());
			
//			//创建一个文件
//			File file = new File("/Users/duyifan/Desktop/contractModel.xls");
//			
//			try {
//				file.createNewFile();
//				//将EXCELL内容存盘
//				FileOutputStream stream = FileUtils.openOutputStream(file);
//				workbook.write(stream);
//				stream.close();
//			} catch (IOException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//			}

//	    PrintWriter writer = response.getWriter();
//
//	    writer.write(workbook);
//
//	    writer.flush();
	}

}
